//////////////////////////////////////////////////////////////////////////
//	File			:	"CGameProfiler.h"
//
//	Author			:	Steven Seufert (SMS) and Jeremy DeSha (DS)
//	Last Modified	:	January 21, 2012 (SMS)
//
//	Purpose			:	to define the singleton to handle all saving and loading for Spell Slingers
///////////////////////////////////////////////////////////////////////////
#ifndef GAME_PROFILER_H
#define GAME_PROFILER_H

#include <fstream>
#include <string>
using namespace std;

class CGameProfiler
{
private:

	// constructor
	CGameProfiler()		{}

	// destructor
	~CGameProfiler()	{}

	// copy constructor
	CGameProfiler(const CGameProfiler&);

	// assignment operator
	CGameProfiler& operator=(const CGameProfiler&);
public:
	static CGameProfiler* GetInstance()			{ static CGameProfiler* instance; return instance; }

	///////////////////////////////////////////////////
	//	Function	:	"SaveUserSettings"
	//	
	//	Last Modified:	January 21, 2012 (SMS)
	//
	//	Input		:	fileName	-	the name of the file you would like to save as a string
	//										
	//	Return		:	none
	//
	//	Purpose		:	Saves the settings from the Options menu to a text file
	//////////////////////////////////////////////////
	void SaveUserSettings(string fileName);

	///////////////////////////////////////////////////
	//	Function	:	"LoadUserSettings"
	//	
	//	Last Modified:	January 21, 2012 (SMS)
	//
	//	Input		:	fileName	-	the name of the file you would like to load as a string
	//										
	//	Return		:	true if successfully opened the file, false if not
	//
	//	Purpose		:	loads the Options menu settings from a text file
	//////////////////////////////////////////////////
	bool LoadUserSettings(string fileName);

	///////////////////////////////////////////////////
	//	Function	:	"SaveGameFile"
	//	
	//	Last Modified:	
	//
	//	Input		:	fileName	-	the name of the file you would like to save as a string
	//										
	//	Return		:	none
	//
	//	Purpose		:	Saves all the data for a game file 
	//////////////////////////////////////////////////
	void SaveGameFile(string fileName);

	///////////////////////////////////////////////////
	//	Function	:	"LoadGameFile"
	//	
	//	Last Modified:	
	//
	//	Input		:	fileName	-	the name of the file you would like to load as a string
	//										
	//	Return		:	none
	//
	//	Purpose		:	loads all the data for a game file 
	//////////////////////////////////////////////////
	void LoadGameFile(string fileName);
};
#endif